from abc import abstractmethod


class TradeWorker:

    @abstractmethod
    def initialize(self):
        pass

    @abstractmethod
    def stop(self):
        pass

    @abstractmethod
    def run(self):
        pass

    @abstractmethod
    def order(self, b_or_s, security, price, quantity_list):
        pass

    @abstractmethod
    def cancel(self, security, hth_list):
        pass

    @abstractmethod
    def apply_new_stocks(self):
        pass

    @abstractmethod
    def reverse_repo(self):
        pass

    @abstractmethod
    def get_entrustments(self):
        pass

    @abstractmethod
    def get_shares(self):
        pass

    @abstractmethod
    def get_balance(self):
        pass

    @abstractmethod
    def get_new_stocks(self):
        pass
